home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine CD 1995
/
Archive Magazine CD 1995.iso
/
text
/
hints
/
volume_03
/
issue_11
< prev
next >
Wrap
Text File
|
1995-02-16
|
10KB
|
270 lines
• Blanking discs − (I’m sure we’ve had this before, but not everyong has
picked it up and I couldn’t find a reference to it in the Archive
database.) If you have a disc that has lots of files on it and you try
to clear them all off by deleting them, it can take ages − it would be
quicker to reformat the disc. Even quicker though is to get an existing
blank disc and do a backup from that to the disc to be blanked − it
takes just a couple of seconds.
3.11
• ChkSpr − In answer to Ray Dawson’s plea for help about !ChkSpr
supplied on shareware disc 19: if you open up the !ChkSpr directory,
amongst the files you will find one called ‘chkspr’ and one called
!Boot‘. If these two files are copied into any Impression document
directory and if you then rename the document directory, instead of the
Impression sprite not appearing because the name no longer corresponds
to the document name (as normally happens) it will appear correctly.
This is because the chkspr utility, when run by the new !Boot file,
checks the name of the first sprite in the sprite file and changes it if
the name is not the same as that of the document. This utility can also
be used to keep the correct sprites for applications. For example, when
developing an application, different versions may be kept, all with the
right sprite file. Simon Burrows and Emmet Spier.
3.11
• ColourTrans module − I have noticed that each of the printer drivers
on the RISC OS extras disc contain their own copy of the Colours module!
This is at odds with the policy of storing all shared modules in the
!System directory (you will probably already have a copy of the Colours
module there − many applications use it).
3.11
To avoid wasting disc space (though Colours uses little) you can remove
this module from within each printer drivers’ directory and edit the
!Run file for each driver to call Colours from the !System folder.
3.11
i.e. in each !Run file the line
3.11
RMEnsure ColourTrans 0.52 RMLoad <PDriver$Dir>.Colours
3.11
should be replaced with
3.11
RMEnsure ColourTrans 0.52 System:Modules.Colours
3.11
To be even more correct two extra lines should also be added (e.g. like
the !Spark and !Draw applications). The above on its own relies on the
desktop having already seen your !System directory, you should therefore
put the line
3.11
If“<System$Path>” = “” Then Error 0 System resources cannot be found
3.11
before the changed line above to check that this is the case. You
should also put the line
3.11
RMEnsure ColourTrans 0.52 Error You need ColourTrans 0.52 or later
3.11
after the changed line − this will check that the module has been loaded
satisfactorily.
3.11
The Printer Drivers on the original RISC-OS Application Disc I did not
load the Colours module when they were installed and so do not have this
problem. Simon Butler.
3.11
• Debugger/Dissassemble returns an incorrect length for SWI instructions
− it returns the length as one too many − you get an extra null
character on these instructions. As all returned strings are null
terminated, I found it easier to scan for the null in order to find the
length. The zero makes no difference to screen or printing, but if
written to a text file looks ugly in !Edit. Kevin Quinn.
3.11
• Desktop bug − There appears to be a fatal bug in the Window Manager of
RISC-OS 2.00. It occurs when you drag a menu, and whilst you are
dragging it, press the <escape> key to remove it. If you then stop
dragging the menu, the system will report an ‘Address exception at
&386BCIC’, the application which created the menu will die fatally and
most often, all the other applications will die as well, resulting in
the computer ‘bombing out’ of the desktop into the CLI. Tom Lakofski.
3.11
• DXF files − Users of DXF files which are comprised only of BLOCKS and
ENTITIES (or maybe just ENTITIES alone) will find that !Draw does not
enable the use of its facility for specifying font types when the DXF
file is just loaded.
3.11
The inclusion of the code below (i.e. a TABLES section) appears to solve
this problem. Of course !Draw must have previously ‘seen’ the relevant
!Fonts directory. The full sequences for the sections, if all are
present is HEADER followed by TABLES, then BLOCKS + ENTITIES. Jim
Markland.
3.11
0
3.11
SECTION
3.11
2
3.11
TABLES
3.11
0
3.11
TABLE
3.11
2
3.11
STYLE
3.11
70
3.11
20
3.11
40
3.11
0
3.11
41
3.11
1
3.11
50
3.11
0
3.11
71
3.11
0
3.11
3
3.11
STANDARD
3.11
0
3.11
ENDTAB
3.11
0
3.11
ENDSEC
3.11
• Greek3 re-caching − To stop the Greek3 outline font supplied with
Impression from recaching itself too often all you have to do is rename
it from ‘Greek3’ to ‘Greek’. Michael Ben-Gershon.
3.11
• On/Off icons, for example option icons in windows, are implemented by
using the ‘S’ command in the validation string of an icon with
indirected text and sprites on. FormEd will allow you to set these up −
switch on indirected stuff, put text (if any) into the text item, and
select sprite − don’t put anything in the sprite sub-menu writeable icon
and put the sprite name(s) in the indirected validation string, e.g.
‘sopton,optoff’. Then by inverting the icon’s inverted bit it will swap
over the icons − see the calls Wimp_SetIconState and Wimp_GetIconState
(pages 1211-1213 of PRM). Details of validation strings are on pages
1184-1187 of the PRM. Kevin Quinn.
3.11
• OS_Heap − While trying to use the Heap facility in RISC-OS, we found
that OS_Heap 6, which returns the size of a heap block, returns the size
including the word at the start containing length. This is unexpected
given the Abstract Data Type philosophy that appears to have been used
for the rest of the system and means that the user knows where the
length of a block is stored and can read it without using OS_Heap 6 −
and incidentally, means Acorn can’t rewrite their Heap manager unless
this word is left in the same place. James Chong.
3.11
• RenderBender on SCSI hard disc drives. As you will know, you cannot
access the hard drive, by using the HARD 4 icon. Some of you may have
already tried unsuccessfully to alter the program, by altering the
variable HD% to 1, to try to force the program into recognising the hard
drive. The following alterations should be made to the !Runfile, Render
and Anirout in the utilities directory. The code will save all pictures
to the specified directory if you have not put the Render Bender
directory in $...
3.11
For the Render program :
3.11
15 *SET RendHard1 SCSIFS::4.$.!Render
3.11
40 curd$=“4”:moder%=FALSE
3.11
15890 A%=32
3.11
15940 IF A%=32 AND HA%>0 GOTO 15920
3.11
16020 IF A%=32 THEN curd$=“4”:*SET REdrive SCSIFS::4.$.!Render
3.11
For the Anirout program:
3.11
6800 IF A%=BE% THEN *SET REdrive SCSIFS::4.$.!Render
3.11
You should then use the edit program to alter the !Run file as follows:
3.11
The line that begins *IF obey$dir... should be changed to...
3.11
*IFobey$dir=“adfs::Render.$.!Render” THEN *SET RendHard1 SCSIFS::4.
3.11
$.!Render ELSE *SET RendHard1<Obey$Dir>
3.11
The previous code may seem a bit long winded but I have unfortunately
not been able to get the *KILLADFS command to work with my version.
Neil Berry.
3.11
• Screen size − The screen size in O.S. co-ordinates may be found using
OS_ReadVduVariables and variable numbers 4 (XEigFactor),5(YEigFactor),11
(XWindLimit) and 12 (YWindLimit). The last two are hidden over the page
and for a while I missed them (pages 345-348 and 350-352). There is
also a message that the Wimp broadcasts when the user changes mode,
enabling your task to keep uptodate on screen sizes − important for drag
boxes amongst other things. See page 1259. Kevin Quinn.
3.11
• System Variables for Filer Module − This little routine enables you to
use RISC-OS variables with the Filer_OpenDir and Filer_CloseDir
commands. This means that you can do commands such as “Filer_OpenDir
<Obey$Dir>.DataFiles” and make programs totally independent of where
they are on the disc. The module requires about 14k of free memory in
the RMA. The program has been written in such a way that it should work
with all future versions of the Filer.
3.11
REM >Filer
3.11
*RMKill Filer
3.11
*RMReInit Filer
3.11
*RMFaster Filer
3.11
SYS “XOS_Module”,18,“Filer%Base” TO ,,,CodeBase%
3.11
TableBase%=CodeBase%+CodeBase%!¤18
3.11
Info%=FN_LookupInfo(“Filer_OpenDir”)
3.11
TableBase%!Info%=TableBase%!Info% OR &00000100
3.11
Info%=FN_LookupInfo(“Filer_CloseDir”)
3.11
TableBase%!Info%=TableBase%!Info% OR &00000100
3.11
END
3.11
:
3.11
DEF FN_LookInfo(Text$)
3.11
LOCAL Offset%,Command$
3.11
Offset%=0
3.11
REPEAT
3.11
Command$=“”
3.11
REPEAT
3.11
Command$+=CHR$(TableBase%?Offset%)
3.11
Offset%+=1
3.11
UNTIL TableBase%?Offset%=0
3.11
Offset%=(Offset%+16+3) AND NOT 3
3.11
UNTIL Command$=Text$ OR TableBase%? Offset%=0
3.11
IF Command$=Text$ THEN =Offset-12 ERROR 0, “I can’t find ”+Text$
3.11
There is one slight problem with this routine due to the way that RISC-
OS implements the *RMFaster command by re-initialising the module. This
means that the Filer icon disappears from the Desktop and cannot be
recovered without restarting the desktop so the routine is probably best
placed in a boot routine that subsequently starts up the desktop. Simon
Callan.
3.11
• TWIN 8000 − If you load TWIN at an address other than hex 8000 the
<f10> key functions (goto, newtime, etc) do not work. It caused me no
end of problems and phone calls to Acorn before I realised this.
3.11